package com.learning.mybatis.config.objectfactory;

import org.apache.ibatis.reflection.factory.DefaultObjectFactory;
import org.apache.ibatis.reflection.factory.ObjectFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * ClassName: MybatisConfigObjectFactoryApplication
 * Description: MyBatis配置，ObjectFactory 对象工厂
 * <p>
 * 1. 每次 MyBatis 创建结果对象的新实例时，它都会使用一个对象工厂（ObjectFactory）实例来完成实例化工作。
 * 默认的对象工厂需要做的仅仅是实例化目标类，要么通过默认无参构造方法，要么通过存在的参数映射来调用带有参数的构造方法。
 * 如果想覆盖对象工厂的默认行为，可以通过创建自己的对象工厂来实现。（一般使用默认的即可）
 * <p>
 * 2. {@link ObjectFactory} {@link DefaultObjectFactory}
 * <p>
 * Date: 2020/7/22 9:48 【需求编号】
 *
 * @author Sam Sho
 * @version V1.0.0
 */
@SpringBootApplication
public class MybatisConfigObjectFactoryApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisConfigObjectFactoryApplication.class, args);
    }

}
